home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet multimedia / Muzyka / Edytory sampli (probek dzwieku) / ZynAddSubFX_2.2.0 / Setup_ZynAddSubFX-2.2.0.exe / source code / UI / EffUI.fl < prev    next >
Text File  |  2005-03-14  |  75KB  |  2,311 lines

  1. # data file for the Fltk User Interface Designer (fluid)
  2. version 1.0104 
  3. header_name {.h} 
  4. code_name {.cc}
  5. decl {//Copyright (c) 2002-2005 Nasca Octavian Paul} {} 
  6.  
  7. decl {//License: GNU GPL version 2} {} 
  8.  
  9. decl {\#include <stdlib.h>} {public
  10.  
  11. decl {\#include <stdio.h>} {public
  12.  
  13. decl {\#include <string.h>} {public
  14.  
  15. decl {\#include "../globals.h"} {public
  16.  
  17. decl {\#include "WidgetPDial.h"} {public
  18.  
  19. decl {\#include "EnvelopeUI.h"} {public
  20.  
  21. decl {\#include "FilterUI.h"} {public
  22.  
  23. decl {\#include "../Misc/Util.h"} {public
  24.  
  25. decl {\#include "../Effects/EffectMgr.h"} {public
  26.  
  27. decl {\#include "PresetsUI.h"} {public
  28.  
  29. class EQGraph {: {public Fl_Box}
  30. } {
  31.   Function {EQGraph(int x,int y, int w, int h, const char *label=0):Fl_Box(x,y,w,h,label)} {} {
  32.     code {eff=NULL;
  33. maxdB=30;} {}
  34.   }
  35.   Function {init(EffectMgr *eff_)} {} {
  36.     code {eff=eff_;
  37. oldx=-1;
  38. khzval=-1;} {}
  39.   }
  40.   Function {draw_freq_line(REALTYPE freq,int type)} {} {
  41.     code {fl_color(FL_GRAY);
  42. REALTYPE freqx=getfreqpos(freq);
  43. switch(type){
  44.   case 0:if (active_r()) fl_color(FL_WHITE);
  45.             else fl_color(205,205,205);
  46.          fl_line_style(FL_SOLID);
  47.          break;
  48.   case 1:fl_line_style(FL_DOT);break;
  49.   case 2:fl_line_style(FL_DASH);break;
  50. }; 
  51.  
  52.  
  53. if ((freqx>0.0)&&(freqx<1.0))
  54.    fl_line(x()+(int) (freqx*w()),y(),
  55.    x()+(int) (freqx*w()),y()+h());} {}
  56.   }
  57.   Function {draw()} {} {
  58.     code {int ox=x(),oy=y(),lx=w(),ly=h(),i,iy,oiy;
  59. REALTYPE freqx;
  60.  
  61. if (active_r()) fl_color(0,70,150);
  62.        else fl_color(80,120,160);
  63. fl_rectf(ox,oy,lx,ly);
  64.  
  65.  
  66. //draw the lines
  67. fl_color(FL_GRAY);
  68.  
  69. fl_line_style(FL_SOLID);
  70. fl_line(ox+2,oy+ly/2,ox+lx-2,oy+ly/2);
  71.  
  72. freqx=getfreqpos(1000.0);
  73. if ((freqx>0.0)&&(freqx<1.0))
  74.    fl_line(ox+(int) (freqx*lx),oy,
  75.     ox+(int) (freqx*lx),oy+ly);
  76.  
  77. for (i=1;i<10;i++){
  78.    if(i==1){
  79.      draw_freq_line(i*100.0,0);
  80.      draw_freq_line(i*1000.0,0);
  81.    }else 
  82.     if (i==5){
  83.       draw_freq_line(i*10.0,2);
  84.       draw_freq_line(i*100.0,2);
  85.       draw_freq_line(i*1000.0,2);
  86.     }else{
  87.       draw_freq_line(i*10.0,1);
  88.       draw_freq_line(i*100.0,1);
  89.       draw_freq_line(i*1000.0,1);
  90.     };
  91. };
  92.  
  93. draw_freq_line(10000.0,0);
  94. draw_freq_line(20000.0,1);
  95.  
  96.  
  97. fl_line_style(FL_DOT);
  98. int GY=6;if (ly<GY*3) GY=-1;
  99. for (i=1;i<GY;i++){
  100.    int tmp=(int)(ly/(REALTYPE)GY*i);
  101.    fl_line(ox+2,oy+tmp,ox+lx-2,oy+tmp);
  102. };
  103.  
  104.  
  105. //draw the frequency response
  106. if (active_r()) fl_color(FL_YELLOW);
  107.        else fl_color(200,200,80);
  108. fl_line_style(FL_SOLID);
  109. oiy=getresponse(ly,getfreqx(0.0));
  110. for (i=1;i<lx;i++){
  111.    REALTYPE frq=getfreqx(i/(REALTYPE) lx);
  112.    if (frq>SAMPLE_RATE/2) break;
  113.    iy=getresponse(ly,frq);
  114.    if ((oiy>=0) && (oiy<ly) &&
  115.        (iy>=0) && (iy<ly) )
  116.         fl_line(ox+i-1,oy+ly-oiy,ox+i,oy+ly-iy);
  117.    oiy=iy;
  118. };} {}
  119.   }
  120.   Function {getresponse(int maxy,REALTYPE freq)} {return_type int
  121.   } {
  122.     code {REALTYPE dbresp=eff->getEQfreqresponse(freq);
  123. int idbresp=(int) ((dbresp/maxdB+1.0)*maxy/2.0);
  124.  
  125.  
  126. //fprintf(stderr,"%.5f\\n",(dbresp/maxdB+1.0)*maxy/2.0);
  127.  
  128.  
  129. return(idbresp);} {}
  130.   }
  131.   Function {getfreqx(REALTYPE x)} {return_type REALTYPE
  132.   } {
  133.     code {if (x>1.0) x=1.0;
  134. return(20.0*pow(1000.0,x));} {}
  135.   }
  136.   Function {getfreqpos(REALTYPE freq)} {return_type REALTYPE
  137.   } {
  138.     code {if (freq<0.00001) freq=0.00001;
  139. return(log(freq/20.0)/log(1000.0));} {}
  140.   }
  141.   decl {int oldx,oldy;} {}
  142.   decl {REALTYPE khzval;} {public
  143.   }
  144.   decl {EffectMgr *eff;} {}
  145.   decl {int maxdB;} {}
  146.  
  147. class EffUI {: {public Fl_Group,public PresetsUI_}
  148. } {
  149.   Function {EffUI(int x,int y, int w, int h, const char *label=0):Fl_Group(x,y,w,h,label)} {} {
  150.     code {eff=NULL;
  151. filterwindow=NULL;} {}
  152.   }
  153.   Function {~EffUI()} {} {
  154.     code {effnullwindow->hide();//delete (effnullwindow);
  155. effreverbwindow->hide();//delete (effreverbwindow);
  156. effechowindow->hide();//delete (effechowindow);
  157. effchoruswindow->hide();//delete (effchoruswindow);
  158. effphaserwindow->hide();//delete (effphaserwindow);
  159. effalienwahwindow->hide();//delete (effalienwahwindow);
  160. effdistorsionwindow->hide();//delete (effdistorsionwindow);
  161. effeqwindow->hide();//delete (effeqwindow);
  162. effdynamicfilterwindow->hide();//delete (effdynamicfilterwindow);
  163.  
  164. if (filterwindow!=NULL){
  165.     filterwindow->hide();
  166.     delete(filterwindow);
  167. };} {}
  168.   }
  169.   Function {make_null_window()} {} {
  170.     Fl_Window effnullwindow {
  171.       xywh {287 379 380 95} type Double box PLASTIC_UP_BOX color 221 labelfont 1 hide
  172.       class Fl_Group
  173.     } {
  174.       Fl_Text_Display {} {
  175.         label {No Effect}
  176.         xywh {120 35 10 20} box NO_BOX labeltype EMBOSSED_LABEL labelfont 1 labelsize 26 labelcolor 43 align 8
  177.       }
  178.     }
  179.   }
  180.   Function {make_reverb_window()} {} {
  181.     Fl_Window effreverbwindow {
  182.       xywh {262 421 380 95} type Double box PLASTIC_UP_BOX color 221 labelfont 1 hide
  183.       class Fl_Group
  184.     } {
  185.       Fl_Text_Display {} {
  186.         label {Reverb }
  187.         xywh {275 10 10 20} box NO_BOX labeltype EMBOSSED_LABEL labelfont 1 labelsize 26 align 8
  188.       }
  189.       Fl_Choice revp {
  190.         label Preset
  191.         callback {eff->changepreset((int)o->value());
  192.  
  193. refresh(eff);}
  194.         xywh {10 15 90 15} down_box BORDER_BOX color 14 selection_color 0 labelfont 1 labelsize 10 labelcolor 0 align 5 textfont 1 textsize 10 textcolor 7
  195.       } {
  196.         menuitem {} {
  197.           label {Cathedral 1}
  198.           xywh {10 10 100 20} labelfont 1 labelsize 10 labelcolor 7
  199.         }
  200.         menuitem {} {
  201.           label {Cathedral 2}
  202.           xywh {20 20 100 20} labelfont 1 labelsize 10 labelcolor 7
  203.         }
  204.         menuitem {} {
  205.           label {Cathedral 3}
  206.           xywh {30 30 100 20} labelfont 1 labelsize 10 labelcolor 7
  207.         }
  208.         menuitem {} {
  209.           label {Hall 1}
  210.           xywh {40 40 100 20} labelfont 1 labelsize 10 labelcolor 7
  211.         }
  212.         menuitem {} {
  213.           label {Hall 2}
  214.           xywh {50 50 100 20} labelfont 1 labelsize 10 labelcolor 7
  215.         }
  216.         menuitem {} {
  217.           label {Room 1}
  218.           xywh {60 60 100 20} labelfont 1 labelsize 10 labelcolor 7
  219.         }
  220.         menuitem {} {
  221.           label {Room 2}
  222.           xywh {70 70 100 20} labelfont 1 labelsize 10 labelcolor 7
  223.         }
  224.         menuitem {} {
  225.           label Basement
  226.           xywh {80 80 100 20} labelfont 1 labelsize 10 labelcolor 7
  227.         }
  228.         menuitem {} {
  229.           label Tunnel
  230.           xywh {90 90 100 20} labelfont 1 labelsize 10 labelcolor 7
  231.         }
  232.         menuitem {} {
  233.           label {Echoed 1}
  234.           xywh {100 100 100 20} labelfont 1 labelsize 10 labelcolor 7
  235.         }
  236.         menuitem {} {
  237.           label {Echoed 2}
  238.           xywh {110 110 100 20} labelfont 1 labelsize 10 labelcolor 7
  239.         }
  240.         menuitem {} {
  241.           label {Very Long 1}
  242.           xywh {120 120 100 20} labelfont 1 labelsize 10 labelcolor 7
  243.         }
  244.         menuitem {} {
  245.           label {Very Long 2}
  246.           xywh {130 130 100 20} labelfont 1 labelsize 10 labelcolor 7
  247.         }
  248.       }
  249.       Fl_Choice revp10 {
  250.         label Type
  251.         callback {eff->seteffectpar(10,(int) o->value());}
  252.         xywh {110 15 75 15} down_box BORDER_BOX color 14 labelfont 1 labelsize 10 labelcolor 0 align 5 textfont 1 textsize 10 textcolor 7
  253.       } {
  254.         menuitem {} {
  255.           label Random
  256.           xywh {20 20 100 20} labelfont 1 labelsize 10 labelcolor 7
  257.         }
  258.         menuitem {} {
  259.           label Freeverb
  260.           xywh {30 30 100 20} labelfont 1 labelsize 10 labelcolor 7
  261.         }
  262.       }
  263.       Fl_Dial revp0 {
  264.         label Vol
  265.         callback {eff->seteffectpar(0,(int) o->value());}
  266.         xywh {10 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  267.         class WidgetPDial
  268.       }
  269.       Fl_Dial revp1 {
  270.         label Pan
  271.         callback {eff->seteffectpar(1,(int) o->value());}
  272.         xywh {45 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  273.         class WidgetPDial
  274.       }
  275.       Fl_Dial revp2 {
  276.         label Time
  277.         callback {eff->seteffectpar(2,(int) o->value());}
  278.         xywh {80 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  279.         class WidgetPDial
  280.       }
  281.       Fl_Dial revp3 {
  282.         label {I.del}
  283.         callback {eff->seteffectpar(3,(int) o->value());}
  284.         xywh {120 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 when 4 maximum 127
  285.         class WidgetPDial
  286.       }
  287.       Fl_Dial revp4 {
  288.         label {I.delfb}
  289.         callback {eff->seteffectpar(4,(int) o->value());}
  290.         xywh {155 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  291.         class WidgetPDial
  292.       }
  293.       Fl_Dial revp5 {
  294.         label {R.delay}
  295.         callback {eff->seteffectpar(5,(int) o->value());}
  296.         xywh {200 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 when 4 maximum 127 deactivate
  297.         class WidgetPDial
  298.       }
  299.       Fl_Dial revp6 {
  300.         label {E/R}
  301.         callback {eff->seteffectpar(6,(int) o->value());}
  302.         xywh {235 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127 deactivate
  303.         class WidgetPDial
  304.       }
  305.       Fl_Dial revp7 {
  306.         label LPF
  307.         callback {eff->seteffectpar(7,(int) o->value());}
  308.         xywh {270 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  309.         class WidgetPDial
  310.       }
  311.       Fl_Dial revp8 {
  312.         label HPF
  313.         callback {eff->seteffectpar(8,(int) o->value());}
  314.         xywh {305 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  315.         class WidgetPDial
  316.       }
  317.       Fl_Dial revp9 {
  318.         label Damp
  319.         callback {eff->seteffectpar(9,(int) o->value());}
  320.         xywh {340 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 minimum 64 maximum 127 step 1
  321.         class WidgetPDial
  322.       }
  323.       Fl_Dial revp11 {
  324.         label {R.S.}
  325.         callback {int x=64;
  326. if (Fl::event_button1()) x=(int)o->value();
  327.    else o->value(x);
  328. eff->seteffectpar(11,x);}
  329.         tooltip RoomSize xywh {190 10 25 25} box ROUND_UP_BOX labelfont 1 labelsize 8 align 8 minimum 1 maximum 127 step 1
  330.         class WidgetPDial
  331.       }
  332.     }
  333.   }
  334.   Function {make_echo_window()} {} {
  335.     Fl_Window effechowindow {
  336.       xywh {178 394 380 95} type Double box PLASTIC_UP_BOX color 221 labelfont 1 hide
  337.       class Fl_Group
  338.     } {
  339.       Fl_Choice echop {
  340.         label Preset
  341.         callback {eff->changepreset((int)o->value());
  342. refresh(eff);}
  343.         xywh {11 15 95 15} down_box BORDER_BOX color 14 selection_color 0 labelfont 1 labelsize 10 labelcolor 0 align 5 textfont 1 textsize 10 textcolor 7
  344.       } {
  345.         menuitem {} {
  346.           label {Echo 1}
  347.           xywh {20 20 100 20} labelfont 1 labelsize 10 labelcolor 7
  348.         }
  349.         menuitem {} {
  350.           label {Echo 2}
  351.           xywh {30 30 100 20} labelfont 1 labelsize 10 labelcolor 7
  352.         }
  353.         menuitem {} {
  354.           label {Echo 3}
  355.           xywh {40 40 100 20} labelfont 1 labelsize 10 labelcolor 7
  356.         }
  357.         menuitem {} {
  358.           label {Simple Echo}
  359.           xywh {50 50 100 20} labelfont 1 labelsize 10 labelcolor 7
  360.         }
  361.         menuitem {} {
  362.           label Canyon
  363.           xywh {60 60 100 20} labelfont 1 labelsize 10 labelcolor 7
  364.         }
  365.         menuitem {} {
  366.           label {Panning Echo 1}
  367.           xywh {70 70 100 20} labelfont 1 labelsize 10 labelcolor 7
  368.         }
  369.         menuitem {} {
  370.           label {Panning Echo 2}
  371.           xywh {80 80 100 20} labelfont 1 labelsize 10 labelcolor 7
  372.         }
  373.         menuitem {} {
  374.           label {Panning Echo 3}
  375.           xywh {90 90 100 20} labelfont 1 labelsize 10 labelcolor 7
  376.         }
  377.         menuitem {} {
  378.           label {Feedback Echo}
  379.           xywh {100 100 100 20} labelfont 1 labelsize 10 labelcolor 7
  380.         }
  381.       }
  382.       Fl_Text_Display {} {
  383.         label Echo
  384.         xywh {295 10 10 20} box NO_BOX labeltype EMBOSSED_LABEL labelfont 1 labelsize 26 align 8
  385.       }
  386.       Fl_Dial echop0 {
  387.         label Vol
  388.         callback {eff->seteffectpar(0,(int) o->value());}
  389.         xywh {10 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  390.         class WidgetPDial
  391.       }
  392.       Fl_Dial echop1 {
  393.         label Pan
  394.         callback {eff->seteffectpar(1,(int) o->value());}
  395.         xywh {45 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  396.         class WidgetPDial
  397.       }
  398.       Fl_Dial echop2 {
  399.         label Delay
  400.         callback {eff->seteffectpar(2,(int) o->value());}
  401.         xywh {80 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 when 4 maximum 127
  402.         class WidgetPDial
  403.       }
  404.       Fl_Dial echop3 {
  405.         label {LRdl.}
  406.         callback {eff->seteffectpar(3,(int) o->value());}
  407.         xywh {120 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 when 4 maximum 127
  408.         class WidgetPDial
  409.       }
  410.       Fl_Dial echop4 {
  411.         label {LRc.}
  412.         callback {eff->seteffectpar(4,(int) o->value());}
  413.         xywh {155 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  414.         class WidgetPDial
  415.       }
  416.       Fl_Dial echop5 {
  417.         label {Fb.}
  418.         callback {eff->seteffectpar(5,(int) o->value());}
  419.         xywh {195 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  420.         class WidgetPDial
  421.       }
  422.       Fl_Dial echop6 {
  423.         label Damp
  424.         callback {eff->seteffectpar(6,(int) o->value());}
  425.         xywh {235 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  426.         class WidgetPDial
  427.       }
  428.     }
  429.   }
  430.   Function {make_chorus_window()} {} {
  431.     Fl_Window effchoruswindow {
  432.       xywh {210 263 380 95} type Double box PLASTIC_UP_BOX color 221 labelfont 1 hide
  433.       class Fl_Group
  434.     } {
  435.       Fl_Choice chorusp {
  436.         label Preset
  437.         callback {eff->changepreset((int)o->value());
  438. refresh(eff);}
  439.         xywh {10 15 90 15} down_box BORDER_BOX color 14 selection_color 0 labelfont 1 labelsize 10 labelcolor 0 align 5 textfont 1 textsize 10 textcolor 7
  440.       } {
  441.         menuitem {} {
  442.           label {Chorus 1}
  443.           xywh {20 20 100 20} labelfont 1 labelsize 10 labelcolor 7
  444.         }
  445.         menuitem {} {
  446.           label {Chorus 2}
  447.           xywh {30 30 100 20} labelfont 1 labelsize 10 labelcolor 7
  448.         }
  449.         menuitem {} {
  450.           label {Chorus 3}
  451.           xywh {40 40 100 20} labelfont 1 labelsize 10 labelcolor 7
  452.         }
  453.         menuitem {} {
  454.           label {Celeste 1}
  455.           xywh {50 50 100 20} labelfont 1 labelsize 10 labelcolor 7
  456.         }
  457.         menuitem {} {
  458.           label {Celeste 2}
  459.           xywh {60 60 100 20} labelfont 1 labelsize 10 labelcolor 7
  460.         }
  461.         menuitem {} {
  462.           label {Flange 1}
  463.           xywh {70 70 100 20} labelfont 1 labelsize 10 labelcolor 7
  464.         }
  465.         menuitem {} {
  466.           label {Flange 2}
  467.           xywh {80 80 100 20} labelfont 1 labelsize 10 labelcolor 7
  468.         }
  469.         menuitem {} {
  470.           label {Flange 3}
  471.           xywh {90 90 100 20} labelfont 1 labelsize 10 labelcolor 7
  472.         }
  473.         menuitem {} {
  474.           label {Flange 4}
  475.           xywh {100 100 100 20} labelfont 1 labelsize 10 labelcolor 7
  476.         }
  477.         menuitem {} {
  478.           label {Flange 5}
  479.           xywh {110 110 100 20} labelfont 1 labelsize 10 labelcolor 7
  480.         }
  481.       }
  482.       Fl_Text_Display {} {
  483.         label Chorus
  484.         xywh {265 10 10 20} box NO_BOX labeltype EMBOSSED_LABEL labelfont 1 labelsize 26 align 8
  485.       }
  486.       Fl_Dial chorusp0 {
  487.         label Vol
  488.         callback {eff->seteffectpar(0,(int) o->value());}
  489.         xywh {10 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  490.         class WidgetPDial
  491.       }
  492.       Fl_Dial chorusp1 {
  493.         label Pan
  494.         callback {eff->seteffectpar(1,(int) o->value());}
  495.         xywh {45 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  496.         class WidgetPDial
  497.       }
  498.       Fl_Dial chorusp2 {
  499.         label Freq
  500.         callback {eff->seteffectpar(2,(int) o->value());}
  501.         xywh {85 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  502.         class WidgetPDial
  503.       }
  504.       Fl_Dial chorusp3 {
  505.         label Rnd
  506.         callback {eff->seteffectpar(3,(int) o->value());}
  507.         xywh {120 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 when 4 maximum 127
  508.         class WidgetPDial
  509.       }
  510.       Fl_Dial chorusp5 {
  511.         label {St.df}
  512.         callback {eff->seteffectpar(5,(int) o->value());}
  513.         xywh {200 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  514.         class WidgetPDial
  515.       }
  516.       Fl_Dial chorusp6 {
  517.         label Dpth
  518.         callback {eff->seteffectpar(6,(int) o->value());}
  519.         xywh {235 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  520.         class WidgetPDial
  521.       }
  522.       Fl_Dial chorusp7 {
  523.         label Delay
  524.         callback {eff->seteffectpar(7,(int) o->value());}
  525.         xywh {270 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  526.         class WidgetPDial
  527.       }
  528.       Fl_Dial chorusp8 {
  529.         label Fb
  530.         callback {eff->seteffectpar(8,(int) o->value());}
  531.         xywh {305 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  532.         class WidgetPDial
  533.       }
  534.       Fl_Dial chorusp9 {
  535.         label {L/R}
  536.         callback {eff->seteffectpar(9,(int) o->value());}
  537.         xywh {340 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  538.         class WidgetPDial
  539.       }
  540.       Fl_Check_Button {} {
  541.         label Flange
  542.         callback {eff->seteffectpar(10,(int) o->value());}
  543.         xywh {120 10 55 20} box THIN_UP_BOX down_box DOWN_BOX color 230 labelfont 1 labelsize 10 hide deactivate
  544.         code0 {o->value(eff->geteffectpar(10));}
  545.       }
  546.       Fl_Check_Button chorusp11 {
  547.         label Substract
  548.         callback {eff->seteffectpar(11,(int) o->value());}
  549.         xywh {185 10 70 20} box THIN_UP_BOX down_box DOWN_BOX color 230 labelfont 1 labelsize 10
  550.       }
  551.       Fl_Choice chorusp4 {
  552.         label {LFO type}
  553.         callback {eff->seteffectpar(4,(int) o->value());}
  554.         tooltip {LFO function} xywh {155 50 40 15} down_box BORDER_BOX labelfont 1 labelsize 10 align 130 textsize 8
  555.       } {
  556.         menuitem {} {
  557.           label SINE
  558.           xywh {15 15 100 20} labelfont 1 labelsize 10
  559.         }
  560.         menuitem {} {
  561.           label TRI
  562.           xywh {25 25 100 20} labelfont 1 labelsize 10
  563.         }
  564.       }
  565.     }
  566.   }
  567.   Function {make_phaser_window()} {} {
  568.     Fl_Window effphaserwindow {
  569.       xywh {197 313 380 95} type Double box PLASTIC_UP_BOX color 221 labelfont 1 hide
  570.       class Fl_Group
  571.     } {
  572.       Fl_Choice phaserp {
  573.         label Preset
  574.         callback {eff->changepreset((int)o->value());
  575. refresh(eff);}
  576.         xywh {10 15 90 15} down_box BORDER_BOX color 14 selection_color 0 labelfont 1 labelsize 10 labelcolor 0 align 5 textfont 1 textsize 10 textcolor 7
  577.       } {
  578.         menuitem {} {
  579.           label {Phaser 1}
  580.           xywh {30 30 100 20} labelfont 1 labelsize 10 labelcolor 7
  581.         }
  582.         menuitem {} {
  583.           label {Phaser 2}
  584.           xywh {40 40 100 20} labelfont 1 labelsize 10 labelcolor 7
  585.         }
  586.         menuitem {} {
  587.           label {Phaser 3}
  588.           xywh {50 50 100 20} labelfont 1 labelsize 10 labelcolor 7
  589.         }
  590.         menuitem {} {
  591.           label {Phaser 4}
  592.           xywh {60 60 100 20} labelfont 1 labelsize 10 labelcolor 7
  593.         }
  594.         menuitem {} {
  595.           label {Phaser 5}
  596.           xywh {70 70 100 20} labelfont 1 labelsize 10 labelcolor 7
  597.         }
  598.         menuitem {} {
  599.           label {Phaser 6}
  600.           xywh {80 80 100 20} labelfont 1 labelsize 10 labelcolor 7
  601.         }
  602.       }
  603.       Fl_Text_Display {} {
  604.         label Phaser
  605.         xywh {275 10 10 20} box NO_BOX labeltype EMBOSSED_LABEL labelfont 1 labelsize 26 align 8
  606.       }
  607.       Fl_Dial phaserp0 {
  608.         label Vol
  609.         callback {eff->seteffectpar(0,(int) o->value());}
  610.         xywh {10 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  611.         class WidgetPDial
  612.       }
  613.       Fl_Dial phaserp1 {
  614.         label Pan
  615.         callback {eff->seteffectpar(1,(int) o->value());}
  616.         xywh {45 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  617.         class WidgetPDial
  618.       }
  619.       Fl_Dial phaserp2 {
  620.         label Freq
  621.         callback {eff->seteffectpar(2,(int) o->value());}
  622.         xywh {85 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  623.         class WidgetPDial
  624.       }
  625.       Fl_Dial phaserp3 {
  626.         label Rnd
  627.         callback {eff->seteffectpar(3,(int) o->value());}
  628.         xywh {120 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 when 4 maximum 127
  629.         class WidgetPDial
  630.       }
  631.       Fl_Dial phaserp5 {
  632.         label {St.df}
  633.         callback {eff->seteffectpar(5,(int) o->value());}
  634.         xywh {200 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  635.         class WidgetPDial
  636.       }
  637.       Fl_Dial phaserp6 {
  638.         label Dpth
  639.         callback {eff->seteffectpar(6,(int) o->value());}
  640.         xywh {235 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  641.         class WidgetPDial
  642.       }
  643.       Fl_Dial phaserp7 {
  644.         label Fb
  645.         callback {eff->seteffectpar(7,(int) o->value());}
  646.         xywh {270 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  647.         class WidgetPDial
  648.       }
  649.       Fl_Dial phaserp9 {
  650.         label {L/R}
  651.         callback {eff->seteffectpar(9,(int) o->value());}
  652.         xywh {345 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  653.         class WidgetPDial
  654.       }
  655.       Fl_Check_Button phaserp10 {
  656.         label Substract
  657.         callback {eff->seteffectpar(10,(int) o->value());}
  658.         xywh {185 10 70 20} box THIN_UP_BOX down_box DOWN_BOX color 230 labelfont 1 labelsize 10
  659.       }
  660.       Fl_Choice phaserp4 {
  661.         label {LFO type}
  662.         callback {eff->seteffectpar(4,(int) o->value());}
  663.         tooltip {LFO function} xywh {155 50 40 15} down_box BORDER_BOX labelfont 1 labelsize 10 align 130 textsize 8
  664.       } {
  665.         menuitem {} {
  666.           label SINE
  667.           xywh {15 15 100 20} labelfont 1 labelsize 10
  668.         }
  669.         menuitem {} {
  670.           label TRI
  671.           xywh {25 25 100 20} labelfont 1 labelsize 10
  672.         }
  673.       }
  674.       Fl_Counter phaserp8 {
  675.         label Stages
  676.         callback {eff->seteffectpar(8,(int) o->value());}
  677.         xywh {305 55 35 15} type Simple labelfont 1 labelsize 12 minimum 0 maximum 127 step 1
  678.         code0 {o->range(1,MAX_PHASER_STAGES);}
  679.       }
  680.       Fl_Dial phaserp11 {
  681.         label Phase
  682.         callback {eff->seteffectpar(11,(int) o->value());}
  683.         xywh {155 10 25 25} box ROUND_UP_BOX labelfont 1 labelsize 10 maximum 127
  684.         class WidgetPDial
  685.       }
  686.     }
  687.   }
  688.   Function {make_alienwah_window()} {} {
  689.     Fl_Window effalienwahwindow {
  690.       xywh {230 283 380 95} type Double box PLASTIC_UP_BOX color 221 labelfont 1 hide
  691.       class Fl_Group
  692.     } {
  693.       Fl_Choice awp {
  694.         label Preset
  695.         callback {eff->changepreset((int)o->value());
  696. refresh(eff);}
  697.         xywh {10 15 90 15} down_box BORDER_BOX color 14 selection_color 0 labelfont 1 labelsize 10 labelcolor 0 align 5 textfont 1 textsize 10 textcolor 7
  698.       } {
  699.         menuitem {} {
  700.           label {Alienwah 1}
  701.           xywh {40 40 100 20} labelfont 1 labelsize 10 labelcolor 7
  702.         }
  703.         menuitem {} {
  704.           label {Alienwah 2}
  705.           xywh {50 50 100 20} labelfont 1 labelsize 10 labelcolor 7
  706.         }
  707.         menuitem {} {
  708.           label {Alienwah 3}
  709.           xywh {60 60 100 20} labelfont 1 labelsize 10 labelcolor 7
  710.         }
  711.         menuitem {} {
  712.           label {Alienwah 4}
  713.           xywh {70 70 100 20} labelfont 1 labelsize 10 labelcolor 7
  714.         }
  715.       }
  716.       Fl_Text_Display {} {
  717.         label AlienWah
  718.         xywh {245 10 10 20} box NO_BOX labeltype EMBOSSED_LABEL labelfont 1 labelsize 26 align 8
  719.       }
  720.       Fl_Dial awp0 {
  721.         label Vol
  722.         callback {eff->seteffectpar(0,(int) o->value());}
  723.         xywh {10 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  724.         class WidgetPDial
  725.       }
  726.       Fl_Dial awp1 {
  727.         label Pan
  728.         callback {eff->seteffectpar(1,(int) o->value());}
  729.         xywh {45 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  730.         class WidgetPDial
  731.       }
  732.       Fl_Dial awp2 {
  733.         label Freq
  734.         callback {eff->seteffectpar(2,(int) o->value());}
  735.         xywh {85 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  736.         class WidgetPDial
  737.       }
  738.       Fl_Dial awp3 {
  739.         label Rnd
  740.         callback {eff->seteffectpar(3,(int) o->value());}
  741.         xywh {120 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 when 4 maximum 127
  742.         class WidgetPDial
  743.       }
  744.       Fl_Dial awp5 {
  745.         label {St.df}
  746.         callback {eff->seteffectpar(5,(int) o->value());}
  747.         xywh {200 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  748.         class WidgetPDial
  749.       }
  750.       Fl_Dial awp6 {
  751.         label Dpth
  752.         callback {eff->seteffectpar(6,(int) o->value());}
  753.         xywh {235 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  754.         class WidgetPDial
  755.       }
  756.       Fl_Dial awp7 {
  757.         label Fb
  758.         callback {eff->seteffectpar(7,(int) o->value());}
  759.         xywh {270 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  760.         class WidgetPDial
  761.       }
  762.       Fl_Dial awp9 {
  763.         label {L/R}
  764.         callback {eff->seteffectpar(9,(int) o->value());}
  765.         xywh {345 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  766.         class WidgetPDial
  767.       }
  768.       Fl_Choice awp4 {
  769.         label {LFO type}
  770.         callback {eff->seteffectpar(4,(int) o->value());}
  771.         tooltip {LFO function} xywh {155 50 40 15} down_box BORDER_BOX labelfont 1 labelsize 10 align 130 textsize 8
  772.       } {
  773.         menuitem {} {
  774.           label SINE
  775.           xywh {15 15 100 20} labelfont 1 labelsize 10
  776.         }
  777.         menuitem {} {
  778.           label TRI
  779.           xywh {25 25 100 20} labelfont 1 labelsize 10
  780.         }
  781.       }
  782.       Fl_Dial awp10 {
  783.         label Phase
  784.         callback {eff->seteffectpar(10,(int) o->value());}
  785.         xywh {160 5 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  786.         class WidgetPDial
  787.       }
  788.       Fl_Counter awp8 {
  789.         label Delay
  790.         callback {eff->seteffectpar(8,(int) o->value());}
  791.         xywh {305 55 35 15} type Simple labelfont 1 labelsize 12 minimum 0 maximum 127 step 1
  792.         code0 {o->range(1,MAX_ALIENWAH_DELAY);}
  793.       }
  794.     }
  795.   }
  796.   Function {make_distorsion_window()} {} {
  797.     Fl_Window effdistorsionwindow {
  798.       xywh {259 186 380 95} type Double box PLASTIC_UP_BOX color 221 labelfont 1 hide
  799.       class Fl_Group
  800.     } {
  801.       Fl_Choice distp {
  802.         label Preset
  803.         callback {eff->changepreset((int)o->value());
  804. refresh(eff);}
  805.         xywh {11 15 95 15} down_box BORDER_BOX color 14 selection_color 0 labelfont 1 labelsize 10 labelcolor 0 align 5 textfont 1 textsize 10 textcolor 7
  806.       } {
  807.         menuitem {} {
  808.           label {Overdrive 1}
  809.           xywh {20 20 100 20} labelfont 1 labelsize 10 labelcolor 7
  810.         }
  811.         menuitem {} {
  812.           label {Overdrive 2}
  813.           xywh {30 30 100 20} labelfont 1 labelsize 10 labelcolor 7
  814.         }
  815.         menuitem {} {
  816.           label {A. Exciter 1}
  817.           xywh {40 40 100 20} labelfont 1 labelsize 10 labelcolor 7
  818.         }
  819.         menuitem {} {
  820.           label {A. Exciter 2}
  821.           xywh {50 50 100 20} labelfont 1 labelsize 10 labelcolor 7
  822.         }
  823.         menuitem {} {
  824.           label {Guitar Amp}
  825.           xywh {50 50 100 20} labelfont 1 labelsize 10 labelcolor 7
  826.         }
  827.         menuitem {} {
  828.           label Quantisize
  829.           xywh {60 60 100 20} labelfont 1 labelsize 10 labelcolor 7
  830.         }
  831.       }
  832.       Fl_Text_Display {} {
  833.         label Distortion
  834.         xywh {230 10 10 20} box NO_BOX labeltype EMBOSSED_LABEL labelfont 1 labelsize 26 align 8
  835.       }
  836.       Fl_Dial distp0 {
  837.         label Vol
  838.         callback {eff->seteffectpar(0,(int) o->value());}
  839.         xywh {10 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  840.         class WidgetPDial
  841.       }
  842.       Fl_Dial distp1 {
  843.         label Pan
  844.         callback {eff->seteffectpar(1,(int) o->value());}
  845.         xywh {45 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  846.         class WidgetPDial
  847.       }
  848.       Fl_Dial distp2 {
  849.         label {LRc.}
  850.         callback {eff->seteffectpar(2,(int) o->value());}
  851.         xywh {80 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 when 4 maximum 127
  852.         class WidgetPDial
  853.       }
  854.       Fl_Dial distp3 {
  855.         label Drive
  856.         callback {eff->seteffectpar(3,(int) o->value());}
  857.         xywh {120 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 when 4 maximum 127
  858.         class WidgetPDial
  859.       }
  860.       Fl_Dial distp4 {
  861.         label Level
  862.         callback {eff->seteffectpar(4,(int) o->value());}
  863.         xywh {155 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  864.         class WidgetPDial
  865.       }
  866.       Fl_Dial distp7 {
  867.         label LPF
  868.         callback {eff->seteffectpar(7,(int) o->value());}
  869.         xywh {285 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  870.         class WidgetPDial
  871.       }
  872.       Fl_Dial distp8 {
  873.         label HPF
  874.         callback {eff->seteffectpar(8,(int) o->value());}
  875.         xywh {320 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  876.         class WidgetPDial
  877.       }
  878.       Fl_Choice distp5 {
  879.         label Type
  880.         callback {eff->seteffectpar(5,(int) o->value());}
  881.         xywh {190 50 60 20} box UP_BOX down_box BORDER_BOX labelfont 1 labelsize 12 align 2 textsize 10
  882.       } {
  883.         menuitem {} {
  884.           label Atan
  885.           xywh {55 55 100 20} labelfont 1 labelsize 10
  886.         }
  887.         menuitem {} {
  888.           label Asym1
  889.           xywh {65 65 100 20} labelfont 1 labelsize 10
  890.         }
  891.         menuitem {} {
  892.           label Pow
  893.           xywh {75 75 100 20} labelfont 1 labelsize 10
  894.         }
  895.         menuitem {} {
  896.           label Sine
  897.           xywh {85 85 100 20} labelfont 1 labelsize 10
  898.         }
  899.         menuitem {} {
  900.           label Qnts
  901.           xywh {95 95 100 20} labelfont 1 labelsize 10
  902.         }
  903.         menuitem {} {
  904.           label Zigzg
  905.           xywh {105 105 100 20} labelfont 1 labelsize 10
  906.         }
  907.         menuitem {} {
  908.           label Lmt
  909.           xywh {115 115 100 20} labelfont 1 labelsize 10
  910.         }
  911.         menuitem {} {
  912.           label LmtU
  913.           xywh {125 125 100 20} labelfont 1 labelsize 10
  914.         }
  915.         menuitem {} {
  916.           label LmtL
  917.           xywh {135 135 100 20} labelfont 1 labelsize 10
  918.         }
  919.         menuitem {} {
  920.           label ILmt
  921.           xywh {147 147 100 20} labelfont 1 labelsize 10
  922.         }
  923.         menuitem {} {
  924.           label Clip
  925.           xywh {157 157 100 20} labelfont 1 labelsize 10
  926.         }
  927.         menuitem {} {
  928.           label Asym2
  929.           xywh {75 75 100 20} labelfont 1 labelsize 10
  930.         }
  931.         menuitem {} {
  932.           label Pow2
  933.           xywh {85 85 100 20} labelfont 1 labelsize 10
  934.         }
  935.         menuitem {} {
  936.           label Sgm
  937.           xywh {95 95 100 20} labelfont 1 labelsize 10
  938.         }
  939.       }
  940.       Fl_Check_Button distp6 {
  941.         label {Neg.}
  942.         callback {eff->seteffectpar(6,(int) o->value());}
  943.         xywh {260 55 15 15} down_box DOWN_BOX labelfont 1 labelsize 12 align 2
  944.       }
  945.       Fl_Check_Button distp9 {
  946.         label {St.}
  947.         callback {eff->seteffectpar(9,(int) o->value());}
  948.         tooltip Stereo xywh {355 60 15 15} down_box DOWN_BOX labelfont 1 labelsize 12 align 2
  949.       }
  950.       Fl_Check_Button distp10 {
  951.         label PF
  952.         callback {eff->seteffectpar(10,(int) o->value());}
  953.         tooltip {Applies the filters(before or after) the distorsion} xywh {355 44 15 15} down_box DOWN_BOX labelfont 1 labelsize 12 align 1
  954.       }
  955.     }
  956.   }
  957.   Function {make_eq_window()} {} {
  958.     Fl_Window effeqwindow {
  959.       xywh {258 307 380 95} type Double box PLASTIC_UP_BOX color 221 labelfont 1 hide
  960.       class Fl_Group
  961.     } {
  962.       Fl_Text_Display {} {
  963.         label EQ
  964.         xywh {320 10 15 20} box NO_BOX labeltype EMBOSSED_LABEL labelfont 1 labelsize 26 align 8
  965.       }
  966.       Fl_Dial eqp0 {
  967.         label Gain
  968.         callback {eff->seteffectpar(0,(int) o->value());
  969. eqgraph->redraw();}
  970.         xywh {10 35 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  971.         class WidgetPDial
  972.       }
  973.       Fl_Counter bandcounter {
  974.         label {B.}
  975.         callback {eqband=(int) o->value();
  976. int npb=eqband*5+10;
  977.  
  978. int type=eff->geteffectpar(npb);
  979. typechoice->value(type);
  980.  
  981. if (type>6) gaindial->activate();
  982.  else gaindial->deactivate();
  983.  
  984. if (type==0) bandgroup->deactivate();
  985. else bandgroup->activate();
  986.  
  987. int freq=eff->geteffectpar(npb+1);
  988. freqdial->value(freq);
  989.  
  990. int gain=eff->geteffectpar(npb+2);
  991. gaindial->value(gain);
  992.  
  993. int q=eff->geteffectpar(npb+3);
  994. qdial->value(q);
  995.  
  996. int dbl=eff->geteffectpar(npb+4);
  997. stagescounter->value(dbl);}
  998.         tooltip {Band no.} xywh {240 20 45 15} type Simple labelfont 1 labelsize 12 align 1 minimum 0 maximum 1 step 1 textfont 1 textsize 12
  999.         code0 {o->bounds(0,MAX_EQ_BANDS-1);}
  1000.       }
  1001.       Fl_Group bandgroup {
  1002.         xywh {245 40 130 50} box ENGRAVED_FRAME
  1003.         code0 {if (eff->geteffectpar(10)==0) o->deactivate();}
  1004.       } {
  1005.         Fl_Dial freqdial {
  1006.           label Freq
  1007.           callback {int np=eqband*5+11;
  1008. eff->seteffectpar(np,(int) o->value());
  1009. eqgraph->redraw();}
  1010.           xywh {250 50 25 25} box ROUND_UP_BOX labelfont 1 labelsize 10 when 3 maximum 127
  1011.           class WidgetPDial
  1012.         }
  1013.         Fl_Dial gaindial {
  1014.           label Gain
  1015.           callback {int np=eqband*5+12;
  1016. eff->seteffectpar(np,(int) o->value());
  1017. eqgraph->redraw();}
  1018.           xywh {280 50 25 25} box ROUND_UP_BOX labelfont 1 labelsize 10 when 3 maximum 127 step 1
  1019.           class WidgetPDial
  1020.         }
  1021.         Fl_Dial qdial {
  1022.           label Q
  1023.           callback {int np=eqband*5+13;
  1024. eff->seteffectpar(np,(int) o->value());
  1025. eqgraph->redraw();}
  1026.           xywh {310 50 25 25} box ROUND_UP_BOX labelfont 1 labelsize 10 when 3 maximum 127
  1027.           class WidgetPDial
  1028.         }
  1029.         Fl_Counter stagescounter {
  1030.           label {St.}
  1031.           callback {int np=eqband*5+14;
  1032. eff->seteffectpar(np,(int) o->value());
  1033. eqgraph->redraw();}
  1034.           tooltip {Additional filter stages} xywh {340 60 30 15} type Simple labelfont 1 labelsize 10 minimum 1 maximum 127 step 1 textfont 1 textsize 12
  1035.           code0 {o->bounds(0,MAX_FILTER_STAGES-1);}
  1036.         }
  1037.       }
  1038.       Fl_Choice typechoice {
  1039.         label {T.}
  1040.         callback {int np=eqband*5+10;
  1041. eff->seteffectpar(np,(int) o->value());
  1042. bandcounter->do_callback();
  1043. eqgraph->redraw();}
  1044.         tooltip Type xywh {290 20 40 15} down_box BORDER_BOX labelfont 1 labelsize 10 align 1 when 6 textsize 10
  1045.       } {
  1046.         menuitem {} {
  1047.           label OFF
  1048.           xywh {0 0 100 20} labelfont 1 labelsize 10
  1049.         }
  1050.         menuitem {} {
  1051.           label Lp1
  1052.           xywh {10 10 100 20} labelfont 1 labelsize 10
  1053.         }
  1054.         menuitem {} {
  1055.           label Hp1
  1056.           xywh {20 20 100 20} labelfont 1 labelsize 10
  1057.         }
  1058.         menuitem {} {
  1059.           label Lp2
  1060.           xywh {30 30 100 20} labelfont 1 labelsize 10
  1061.         }
  1062.         menuitem {} {
  1063.           label Hp2
  1064.           xywh {40 40 100 20} labelfont 1 labelsize 10
  1065.         }
  1066.         menuitem {} {
  1067.           label Bp2
  1068.           xywh {50 50 100 20} labelfont 1 labelsize 10
  1069.         }
  1070.         menuitem {} {
  1071.           label N2
  1072.           xywh {60 60 100 20} labelfont 1 labelsize 10
  1073.         }
  1074.         menuitem {} {
  1075.           label Pk
  1076.           xywh {80 80 100 20} labelfont 1 labelsize 10
  1077.         }
  1078.         menuitem {} {
  1079.           label LSh
  1080.           xywh {70 70 100 20} labelfont 1 labelsize 10
  1081.         }
  1082.         menuitem {} {
  1083.           label HSh
  1084.           xywh {80 80 100 20} labelfont 1 labelsize 10
  1085.         }
  1086.       }
  1087.       Fl_Box eqgraph {
  1088.         xywh {45 10 190 75} box BORDER_BOX color 178
  1089.         code0 {o->init(eff);}
  1090.         class EQGraph
  1091.       }
  1092.     }
  1093.   }
  1094.   Function {make_dynamicfilter_window()} {} {
  1095.     Fl_Window effdynamicfilterwindow {
  1096.       xywh {104 461 380 95} type Double box PLASTIC_UP_BOX color 221 labelfont 1 hide
  1097.       class Fl_Group
  1098.     } {
  1099.       Fl_Choice dfp {
  1100.         label Preset
  1101.         callback {eff->changepreset((int)o->value());
  1102. refresh(eff);}
  1103.         xywh {10 15 90 15} down_box BORDER_BOX color 14 selection_color 0 labelfont 1 labelsize 10 labelcolor 0 align 5 textfont 1 textsize 10 textcolor 7
  1104.       } {
  1105.         menuitem {} {
  1106.           label WahWah
  1107.           xywh {30 30 100 20} labelfont 1 labelsize 10 labelcolor 7
  1108.         }
  1109.         menuitem {} {
  1110.           label AutoWah
  1111.           xywh {40 40 100 20} labelfont 1 labelsize 10 labelcolor 7
  1112.         }
  1113.         menuitem {} {
  1114.           label Sweep
  1115.           xywh {50 50 100 20} labelfont 1 labelsize 10 labelcolor 7
  1116.         }
  1117.         menuitem {} {
  1118.           label VocalMorph1
  1119.           xywh {50 50 100 20} labelfont 1 labelsize 10 labelcolor 7
  1120.         }
  1121.         menuitem {} {
  1122.           label VocalMorph2
  1123.           xywh {60 60 100 20} labelfont 1 labelsize 10 labelcolor 7
  1124.         }
  1125.       }
  1126.       Fl_Text_Display {} {
  1127.         label DynFilter
  1128.         xywh {245 10 10 20} box NO_BOX labeltype EMBOSSED_LABEL labelfont 1 labelsize 26 align 8
  1129.       }
  1130.       Fl_Dial dfp0 {
  1131.         label Vol
  1132.         callback {eff->seteffectpar(0,(int) o->value());}
  1133.         xywh {10 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  1134.         class WidgetPDial
  1135.       }
  1136.       Fl_Dial dfp1 {
  1137.         label Pan
  1138.         callback {eff->seteffectpar(1,(int) o->value());}
  1139.         xywh {45 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  1140.         class WidgetPDial
  1141.       }
  1142.       Fl_Dial dfp2 {
  1143.         label Freq
  1144.         callback {eff->seteffectpar(2,(int) o->value());}
  1145.         xywh {85 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  1146.         class WidgetPDial
  1147.       }
  1148.       Fl_Dial dfp3 {
  1149.         label Rnd
  1150.         callback {eff->seteffectpar(3,(int) o->value());}
  1151.         xywh {120 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 when 4 maximum 127
  1152.         class WidgetPDial
  1153.       }
  1154.       Fl_Dial dfp5 {
  1155.         label {St.df}
  1156.         callback {eff->seteffectpar(5,(int) o->value());}
  1157.         xywh {200 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  1158.         class WidgetPDial
  1159.       }
  1160.       Fl_Dial dfp6 {
  1161.         label LfoD
  1162.         callback {eff->seteffectpar(6,(int) o->value());}
  1163.         xywh {235 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  1164.         class WidgetPDial
  1165.       }
  1166.       Fl_Choice dfp4 {
  1167.         label {LFO type}
  1168.         callback {eff->seteffectpar(4,(int) o->value());}
  1169.         tooltip {LFO function} xywh {155 50 40 15} down_box BORDER_BOX labelfont 1 labelsize 10 align 130 textsize 8
  1170.       } {
  1171.         menuitem {} {
  1172.           label SINE
  1173.           xywh {15 15 100 20} labelfont 1 labelsize 10
  1174.         }
  1175.         menuitem {} {
  1176.           label TRI
  1177.           xywh {25 25 100 20} labelfont 1 labelsize 10
  1178.         }
  1179.       }
  1180.       Fl_Button {} {
  1181.         label Filter
  1182.         callback {filterwindow->show();}
  1183.         xywh {115 10 55 25} box PLASTIC_THIN_UP_BOX
  1184.       }
  1185.       Fl_Group {} {open
  1186.         xywh {270 40 105 45} box BORDER_BOX color 181
  1187.       } {
  1188.         Fl_Dial dfp7 {
  1189.           label {A.S.}
  1190.           callback {eff->seteffectpar(7,(int) o->value());}
  1191.           xywh {275 45 25 25} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  1192.           class WidgetPDial
  1193.         }
  1194.         Fl_Dial dfp9 {
  1195.           label {A.M}
  1196.           callback {eff->seteffectpar(9,(int) o->value());}
  1197.           xywh {305 45 25 25} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  1198.           class WidgetPDial
  1199.         }
  1200.         Fl_Check_Button dfp8 {
  1201.           label {A.Inv.}
  1202.           callback {eff->seteffectpar(8,(int) o->value());}
  1203.           xywh {345 55 15 15} down_box DOWN_BOX labelfont 1 labelsize 12 align 2
  1204.         }
  1205.       }
  1206.     }
  1207.   }
  1208.   Function {make_filter_window()} {} {
  1209.     Fl_Window filterwindow {
  1210.       label {Filter Parameters for DynFilter Eff.}
  1211.       xywh {212 170 290 110} type Double hide
  1212.     } {
  1213.       Fl_Group {} {
  1214.         label {DynFilter effect  - Filter} open
  1215.         xywh {5 5 275 75} box FLAT_BOX color 50 align 144
  1216.         code0 {o->init(eff->filterpars,NULL,NULL);}
  1217.         code1 {o->use_for_dynamic_filter();}
  1218.         class FilterUI
  1219.       } {}
  1220.       Fl_Button {} {
  1221.         label Close
  1222.         callback {filterwindow->hide();}
  1223.         xywh {105 85 70 20} box THIN_UP_BOX
  1224.       }
  1225.     }
  1226.   }
  1227.   Function {init(EffectMgr *eff_)} {} {
  1228.     code {eff=eff_;
  1229.  
  1230. make_null_window();
  1231. make_reverb_window();
  1232. make_echo_window();
  1233. make_chorus_window();
  1234. make_phaser_window();
  1235. make_alienwah_window();
  1236. make_distorsion_window();
  1237. make_eq_window();
  1238. make_dynamicfilter_window();
  1239.  
  1240. int px=this->parent()->x();
  1241. int py=this->parent()->y();
  1242.  
  1243. effnullwindow->position(px,py);
  1244. effreverbwindow->position(px,py);
  1245. effechowindow->position(px,py);
  1246. effchoruswindow->position(px,py);
  1247. effphaserwindow->position(px,py);
  1248. effalienwahwindow->position(px,py);
  1249. effdistorsionwindow->position(px,py);
  1250. effeqwindow->position(px,py);
  1251. effdynamicfilterwindow->position(px,py);
  1252.  
  1253. refresh(eff);} {}
  1254.   }
  1255.   Function {refresh(EffectMgr *eff_)} {} {
  1256.     code {eff=eff_;
  1257. this->hide();
  1258.  
  1259. effnullwindow->hide();
  1260. effreverbwindow->hide();
  1261. effechowindow->hide();
  1262. effchoruswindow->hide();
  1263. effphaserwindow->hide();
  1264. effalienwahwindow->hide();
  1265. effdistorsionwindow->hide();
  1266. effeqwindow->hide();
  1267. effdynamicfilterwindow->hide();
  1268.  
  1269. eqband=0;
  1270.  
  1271. if (filterwindow!=NULL){
  1272.     filterwindow->hide();
  1273.     delete(filterwindow);
  1274.     filterwindow=NULL;
  1275. };
  1276.  
  1277. switch(eff->geteffect()){
  1278.      case 1:
  1279.     revp->value(eff->getpreset());
  1280.     revp0->value(eff->geteffectpar(0));if (eff->insertion!=0) revp0->label("D/W");
  1281.     revp1->value(eff->geteffectpar(1));
  1282.     revp2->value(eff->geteffectpar(2));
  1283.     revp3->value(eff->geteffectpar(3));
  1284.     revp4->value(eff->geteffectpar(4));
  1285.     revp5->value(eff->geteffectpar(5));
  1286.     revp6->value(eff->geteffectpar(6));
  1287.     revp7->value(eff->geteffectpar(7));
  1288.     revp8->value(eff->geteffectpar(8));
  1289.     revp9->value(eff->geteffectpar(9));
  1290.     revp10->value(eff->geteffectpar(10));
  1291.     revp11->value(eff->geteffectpar(11));
  1292.             
  1293.         effreverbwindow->show();
  1294.         break; 
  1295.      case 2:
  1296.     echop->value(eff->getpreset());
  1297.     echop0->value(eff->geteffectpar(0));if (eff->insertion!=0) echop0->label("D/W");
  1298.     echop1->value(eff->geteffectpar(1));
  1299.     echop2->value(eff->geteffectpar(2));
  1300.     echop3->value(eff->geteffectpar(3));
  1301.     echop4->value(eff->geteffectpar(4));
  1302.     echop5->value(eff->geteffectpar(5));
  1303.     echop6->value(eff->geteffectpar(6));
  1304.     effechowindow->show();
  1305.         break; 
  1306.      case 3:
  1307.     chorusp->value(eff->getpreset());
  1308.     chorusp0->value(eff->geteffectpar(0));if (eff->insertion!=0) chorusp0->label("D/W");
  1309.     chorusp1->value(eff->geteffectpar(1));
  1310.     chorusp2->value(eff->geteffectpar(2));
  1311.     chorusp3->value(eff->geteffectpar(3));
  1312.     chorusp4->value(eff->geteffectpar(4));
  1313.     chorusp5->value(eff->geteffectpar(5));
  1314.     chorusp6->value(eff->geteffectpar(6));
  1315.     chorusp7->value(eff->geteffectpar(7));
  1316.     chorusp8->value(eff->geteffectpar(8));
  1317.     chorusp9->value(eff->geteffectpar(9));
  1318.     chorusp11->value(eff->geteffectpar(11));
  1319.     effchoruswindow->show();
  1320.         break; 
  1321.      case 4:
  1322.     phaserp->value(eff->getpreset());
  1323.     phaserp0->value(eff->geteffectpar(0));if (eff->insertion!=0) phaserp0->label("D/W");
  1324.     phaserp1->value(eff->geteffectpar(1));
  1325.     phaserp2->value(eff->geteffectpar(2));
  1326.     phaserp3->value(eff->geteffectpar(3));
  1327.     phaserp4->value(eff->geteffectpar(4));
  1328.     phaserp5->value(eff->geteffectpar(5));
  1329.     phaserp6->value(eff->geteffectpar(6));
  1330.     phaserp7->value(eff->geteffectpar(7));
  1331.     phaserp8->value(eff->geteffectpar(8));
  1332.     phaserp9->value(eff->geteffectpar(9));
  1333.     phaserp10->value(eff->geteffectpar(10));
  1334.     phaserp11->value(eff->geteffectpar(11));
  1335.     effphaserwindow->show();
  1336.         break; 
  1337.      case 5:
  1338.     awp->value(eff->getpreset());
  1339.     awp0->value(eff->geteffectpar(0));if (eff->insertion!=0) awp0->label("D/W");
  1340.     awp1->value(eff->geteffectpar(1));
  1341.     awp2->value(eff->geteffectpar(2));
  1342.     awp3->value(eff->geteffectpar(3));
  1343.     awp4->value(eff->geteffectpar(4));
  1344.     awp5->value(eff->geteffectpar(5));
  1345.     awp6->value(eff->geteffectpar(6));
  1346.     awp7->value(eff->geteffectpar(7));
  1347.     awp8->value(eff->geteffectpar(8));
  1348.     awp9->value(eff->geteffectpar(9));
  1349.     awp10->value(eff->geteffectpar(10));
  1350.  
  1351.     effalienwahwindow->show();
  1352.         break; 
  1353.      case 6:
  1354.     distp->value(eff->getpreset());
  1355.     distp0->value(eff->geteffectpar(0));if (eff->insertion!=0) distp0->label("D/W");
  1356.     distp1->value(eff->geteffectpar(1));
  1357.     distp2->value(eff->geteffectpar(2));
  1358.     distp3->value(eff->geteffectpar(3));
  1359.     distp4->value(eff->geteffectpar(4));
  1360.     distp5->value(eff->geteffectpar(5));
  1361.     distp6->value(eff->geteffectpar(6));
  1362.     distp7->value(eff->geteffectpar(7));
  1363.     distp8->value(eff->geteffectpar(8));
  1364.     distp9->value(eff->geteffectpar(9));
  1365.     distp10->value(eff->geteffectpar(10));
  1366.     effdistorsionwindow->show();
  1367.         break;
  1368.      case 7:eqband=0;
  1369.     eqp0->value(eff->geteffectpar(0));
  1370.     bandcounter->value(eqband);
  1371.     bandcounter->do_callback();
  1372.     typechoice->value(eff->geteffectpar(10));
  1373.     eqgraph->redraw();
  1374.     freqdial->value(eff->geteffectpar(11));
  1375.     gaindial->value(eff->geteffectpar(12));
  1376.     if (eff->geteffectpar(10)<6) gaindial->deactivate();
  1377.     qdial->value(eff->geteffectpar(13));
  1378.     stagescounter->value(eff->geteffectpar(14));
  1379.         eqgraph->init(eff);
  1380.     effeqwindow->show();
  1381.         break;
  1382.      case 8:make_filter_window();
  1383.     dfp->value(eff->getpreset());
  1384.     dfp0->value(eff->geteffectpar(0));if (eff->insertion!=0) dfp0->label("D/W");
  1385.     dfp1->value(eff->geteffectpar(1));
  1386.     dfp2->value(eff->geteffectpar(2));
  1387.     dfp3->value(eff->geteffectpar(3));
  1388.     dfp4->value(eff->geteffectpar(4));
  1389.     dfp5->value(eff->geteffectpar(5));
  1390.     dfp6->value(eff->geteffectpar(6));
  1391.     dfp7->value(eff->geteffectpar(7));
  1392.     dfp8->value(eff->geteffectpar(8));
  1393.     dfp9->value(eff->geteffectpar(9));
  1394.  
  1395.             
  1396.     effdynamicfilterwindow->show();
  1397.     break;
  1398.     default:effnullwindow->show();
  1399.             break; 
  1400. };
  1401.  
  1402. this->show();} {}
  1403.   }
  1404.   Function {refresh()} {} {
  1405.     code {refresh(eff);} {}
  1406.   }
  1407.   decl {EffectMgr *eff;} {}
  1408.   decl {int eqband;} {}
  1409.  
  1410. class SimpleEffUI {: {public Fl_Group,public PresetsUI_}
  1411. } {
  1412.   Function {SimpleEffUI(int x,int y, int w, int h, const char *label=0):Fl_Group(x,y,w,h,label)} {} {
  1413.     code {eff=NULL;} {}
  1414.   }
  1415.   Function {~SimpleEffUI()} {} {
  1416.     code {effnullwindow->hide();//delete (effnullwindow);
  1417. effreverbwindow->hide();//delete (effreverbwindow);
  1418. effechowindow->hide();//delete (effechowindow);
  1419. effchoruswindow->hide();//delete (effchoruswindow);
  1420. effphaserwindow->hide();//delete (effphaserwindow);
  1421. effalienwahwindow->hide();//delete (effalienwahwindow);
  1422. effdistorsionwindow->hide();//delete (effdistorsionwindow);
  1423. effeqwindow->hide();//delete (effeqwindow);
  1424. effdynamicfilterwindow->hide();//delete (effdynamicfilterwindow);} {}
  1425.   }
  1426.   Function {make_null_window()} {} {
  1427.     Fl_Window effnullwindow {
  1428.       xywh {539 150 233 95} type Double box PLASTIC_UP_BOX color 221 labelfont 1 hide
  1429.       class Fl_Group
  1430.     } {
  1431.       Fl_Text_Display {} {
  1432.         label {No Effect}
  1433.         xywh {25 35 35 20} box NO_BOX labeltype EMBOSSED_LABEL labelfont 1 labelsize 26 labelcolor 43 align 8
  1434.       }
  1435.     }
  1436.   }
  1437.   Function {make_reverb_window()} {} {
  1438.     Fl_Window effreverbwindow {
  1439.       xywh {151 285 233 95} type Double box PLASTIC_UP_BOX color 221 labelfont 1 hide
  1440.       class Fl_Group
  1441.     } {
  1442.       Fl_Text_Display {} {
  1443.         label {Reverb }
  1444.         xywh {115 10 20 20} box NO_BOX labeltype EMBOSSED_LABEL labelfont 1 labelsize 26 align 8
  1445.       }
  1446.       Fl_Choice revp {
  1447.         label Preset
  1448.         callback {eff->changepreset((int)o->value());
  1449.  
  1450. refresh(eff);}
  1451.         xywh {10 15 90 15} down_box BORDER_BOX color 14 selection_color 0 labelfont 1 labelsize 10 labelcolor 0 align 5 textfont 1 textsize 10 textcolor 7
  1452.       } {
  1453.         menuitem {} {
  1454.           label {Cathedral 1}
  1455.           xywh {10 10 100 20} labelfont 1 labelsize 10 labelcolor 7
  1456.         }
  1457.         menuitem {} {
  1458.           label {Cathedral 2}
  1459.           xywh {20 20 100 20} labelfont 1 labelsize 10 labelcolor 7
  1460.         }
  1461.         menuitem {} {
  1462.           label {Cathedral 3}
  1463.           xywh {30 30 100 20} labelfont 1 labelsize 10 labelcolor 7
  1464.         }
  1465.         menuitem {} {
  1466.           label {Hall 1}
  1467.           xywh {40 40 100 20} labelfont 1 labelsize 10 labelcolor 7
  1468.         }
  1469.         menuitem {} {
  1470.           label {Hall 2}
  1471.           xywh {50 50 100 20} labelfont 1 labelsize 10 labelcolor 7
  1472.         }
  1473.         menuitem {} {
  1474.           label {Room 1}
  1475.           xywh {60 60 100 20} labelfont 1 labelsize 10 labelcolor 7
  1476.         }
  1477.         menuitem {} {
  1478.           label {Room 2}
  1479.           xywh {70 70 100 20} labelfont 1 labelsize 10 labelcolor 7
  1480.         }
  1481.         menuitem {} {
  1482.           label Basement
  1483.           xywh {80 80 100 20} labelfont 1 labelsize 10 labelcolor 7
  1484.         }
  1485.         menuitem {} {
  1486.           label Tunnel
  1487.           xywh {90 90 100 20} labelfont 1 labelsize 10 labelcolor 7
  1488.         }
  1489.         menuitem {} {
  1490.           label {Echoed 1}
  1491.           xywh {100 100 100 20} labelfont 1 labelsize 10 labelcolor 7
  1492.         }
  1493.         menuitem {} {
  1494.           label {Echoed 2}
  1495.           xywh {110 110 100 20} labelfont 1 labelsize 10 labelcolor 7
  1496.         }
  1497.         menuitem {} {
  1498.           label {Very Long 1}
  1499.           xywh {120 120 100 20} labelfont 1 labelsize 10 labelcolor 7
  1500.         }
  1501.         menuitem {} {
  1502.           label {Very Long 2}
  1503.           xywh {130 130 100 20} labelfont 1 labelsize 10 labelcolor 7
  1504.         }
  1505.       }
  1506.       Fl_Dial revp0 {
  1507.         label Vol
  1508.         callback {eff->seteffectpar(0,(int) o->value());}
  1509.         xywh {10 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  1510.         class WidgetPDial
  1511.       }
  1512.       Fl_Dial revp2 {
  1513.         label Time
  1514.         callback {eff->seteffectpar(2,(int) o->value());}
  1515.         xywh {45 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  1516.         class WidgetPDial
  1517.       }
  1518.       Fl_Dial revp3 {
  1519.         label {I.del}
  1520.         callback {eff->seteffectpar(3,(int) o->value());}
  1521.         xywh {85 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 when 4 maximum 127
  1522.         class WidgetPDial
  1523.       }
  1524.       Fl_Dial revp9 {
  1525.         label Damp
  1526.         callback {eff->seteffectpar(9,(int) o->value());}
  1527.         xywh {120 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 minimum 64 maximum 127 step 1
  1528.         class WidgetPDial
  1529.       }
  1530.     }
  1531.   }
  1532.   Function {make_echo_window()} {} {
  1533.     Fl_Window effechowindow {
  1534.       xywh {243 350 231 95} type Double box PLASTIC_UP_BOX color 221 labelfont 1 hide
  1535.       class Fl_Group
  1536.     } {
  1537.       Fl_Choice echop {
  1538.         label Preset
  1539.         callback {eff->changepreset((int)o->value());
  1540. refresh(eff);}
  1541.         xywh {11 15 95 15} down_box BORDER_BOX color 14 selection_color 0 labelfont 1 labelsize 10 labelcolor 0 align 5 textfont 1 textsize 10 textcolor 7
  1542.       } {
  1543.         menuitem {} {
  1544.           label {Echo 1}
  1545.           xywh {20 20 100 20} labelfont 1 labelsize 10 labelcolor 7
  1546.         }
  1547.         menuitem {} {
  1548.           label {Echo 2}
  1549.           xywh {30 30 100 20} labelfont 1 labelsize 10 labelcolor 7
  1550.         }
  1551.         menuitem {} {
  1552.           label {Echo 3}
  1553.           xywh {40 40 100 20} labelfont 1 labelsize 10 labelcolor 7
  1554.         }
  1555.         menuitem {} {
  1556.           label {Simple Echo}
  1557.           xywh {50 50 100 20} labelfont 1 labelsize 10 labelcolor 7
  1558.         }
  1559.         menuitem {} {
  1560.           label Canyon
  1561.           xywh {60 60 100 20} labelfont 1 labelsize 10 labelcolor 7
  1562.         }
  1563.         menuitem {} {
  1564.           label {Panning Echo 1}
  1565.           xywh {70 70 100 20} labelfont 1 labelsize 10 labelcolor 7
  1566.         }
  1567.         menuitem {} {
  1568.           label {Panning Echo 2}
  1569.           xywh {80 80 100 20} labelfont 1 labelsize 10 labelcolor 7
  1570.         }
  1571.         menuitem {} {
  1572.           label {Panning Echo 3}
  1573.           xywh {90 90 100 20} labelfont 1 labelsize 10 labelcolor 7
  1574.         }
  1575.         menuitem {} {
  1576.           label {Feedback Echo}
  1577.           xywh {100 100 100 20} labelfont 1 labelsize 10 labelcolor 7
  1578.         }
  1579.       }
  1580.       Fl_Text_Display {} {
  1581.         label Echo
  1582.         xywh {145 10 10 20} box NO_BOX labeltype EMBOSSED_LABEL labelfont 1 labelsize 26 align 8
  1583.       }
  1584.       Fl_Dial echop0 {
  1585.         label Vol
  1586.         callback {eff->seteffectpar(0,(int) o->value());}
  1587.         xywh {10 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  1588.         class WidgetPDial
  1589.       }
  1590.       Fl_Dial echop2 {
  1591.         label Delay
  1592.         callback {eff->seteffectpar(2,(int) o->value());}
  1593.         xywh {45 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 when 4 maximum 127
  1594.         class WidgetPDial
  1595.       }
  1596.       Fl_Dial echop5 {
  1597.         label {Fb.}
  1598.         callback {eff->seteffectpar(5,(int) o->value());}
  1599.         xywh {80 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  1600.         class WidgetPDial
  1601.       }
  1602.     }
  1603.   }
  1604.   Function {make_chorus_window()} {} {
  1605.     Fl_Window effchoruswindow {
  1606.       xywh {234 353 233 95} type Double box PLASTIC_UP_BOX color 221 labelfont 1 hide
  1607.       class Fl_Group
  1608.     } {
  1609.       Fl_Choice chorusp {
  1610.         label Preset
  1611.         callback {eff->changepreset((int)o->value());
  1612. refresh(eff);}
  1613.         xywh {10 15 90 15} down_box BORDER_BOX color 14 selection_color 0 labelfont 1 labelsize 10 labelcolor 0 align 5 textfont 1 textsize 10 textcolor 7
  1614.       } {
  1615.         menuitem {} {
  1616.           label {Chorus 1}
  1617.           xywh {20 20 100 20} labelfont 1 labelsize 10 labelcolor 7
  1618.         }
  1619.         menuitem {} {
  1620.           label {Chorus 2}
  1621.           xywh {30 30 100 20} labelfont 1 labelsize 10 labelcolor 7
  1622.         }
  1623.         menuitem {} {
  1624.           label {Chorus 3}
  1625.           xywh {40 40 100 20} labelfont 1 labelsize 10 labelcolor 7
  1626.         }
  1627.         menuitem {} {
  1628.           label {Celeste 1}
  1629.           xywh {50 50 100 20} labelfont 1 labelsize 10 labelcolor 7
  1630.         }
  1631.         menuitem {} {
  1632.           label {Celeste 2}
  1633.           xywh {60 60 100 20} labelfont 1 labelsize 10 labelcolor 7
  1634.         }
  1635.         menuitem {} {
  1636.           label {Flange 1}
  1637.           xywh {70 70 100 20} labelfont 1 labelsize 10 labelcolor 7
  1638.         }
  1639.         menuitem {} {
  1640.           label {Flange 2}
  1641.           xywh {80 80 100 20} labelfont 1 labelsize 10 labelcolor 7
  1642.         }
  1643.         menuitem {} {
  1644.           label {Flange 3}
  1645.           xywh {90 90 100 20} labelfont 1 labelsize 10 labelcolor 7
  1646.         }
  1647.         menuitem {} {
  1648.           label {Flange 4}
  1649.           xywh {100 100 100 20} labelfont 1 labelsize 10 labelcolor 7
  1650.         }
  1651.         menuitem {} {
  1652.           label {Flange 5}
  1653.           xywh {110 110 100 20} labelfont 1 labelsize 10 labelcolor 7
  1654.         }
  1655.       }
  1656.       Fl_Text_Display {} {
  1657.         label Chorus
  1658.         xywh {120 10 10 20} box NO_BOX labeltype EMBOSSED_LABEL labelfont 1 labelsize 26 align 8
  1659.       }
  1660.       Fl_Dial chorusp0 {
  1661.         label Vol
  1662.         callback {eff->seteffectpar(0,(int) o->value());}
  1663.         xywh {10 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  1664.         class WidgetPDial
  1665.       }
  1666.       Fl_Dial chorusp2 {
  1667.         label Freq
  1668.         callback {eff->seteffectpar(2,(int) o->value());}
  1669.         xywh {45 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  1670.         class WidgetPDial
  1671.       }
  1672.       Fl_Dial chorusp6 {
  1673.         label Dpth
  1674.         callback {eff->seteffectpar(6,(int) o->value());}
  1675.         xywh {80 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  1676.         class WidgetPDial
  1677.       }
  1678.       Fl_Dial chorusp7 {
  1679.         label Delay
  1680.         callback {eff->seteffectpar(7,(int) o->value());}
  1681.         xywh {115 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  1682.         class WidgetPDial
  1683.       }
  1684.       Fl_Dial chorusp8 {
  1685.         label Fb
  1686.         callback {eff->seteffectpar(8,(int) o->value());}
  1687.         xywh {150 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  1688.         class WidgetPDial
  1689.       }
  1690.       Fl_Check_Button {} {
  1691.         label Flange
  1692.         callback {eff->seteffectpar(10,(int) o->value());}
  1693.         xywh {120 10 55 20} box THIN_UP_BOX down_box DOWN_BOX color 230 labelfont 1 labelsize 10 hide deactivate
  1694.         code0 {o->value(eff->geteffectpar(10));}
  1695.       }
  1696.     }
  1697.   }
  1698.   Function {make_phaser_window()} {} {
  1699.     Fl_Window effphaserwindow {
  1700.       xywh {171 303 232 95} type Double box PLASTIC_UP_BOX color 221 labelfont 1 hide
  1701.       class Fl_Group
  1702.     } {
  1703.       Fl_Choice phaserp {
  1704.         label Preset
  1705.         callback {eff->changepreset((int)o->value());
  1706. refresh(eff);}
  1707.         xywh {10 15 90 15} down_box BORDER_BOX color 14 selection_color 0 labelfont 1 labelsize 10 labelcolor 0 align 5 textfont 1 textsize 10 textcolor 7
  1708.       } {
  1709.         menuitem {} {
  1710.           label {Phaser 1}
  1711.           xywh {30 30 100 20} labelfont 1 labelsize 10 labelcolor 7
  1712.         }
  1713.         menuitem {} {
  1714.           label {Phaser 2}
  1715.           xywh {40 40 100 20} labelfont 1 labelsize 10 labelcolor 7
  1716.         }
  1717.         menuitem {} {
  1718.           label {Phaser 3}
  1719.           xywh {50 50 100 20} labelfont 1 labelsize 10 labelcolor 7
  1720.         }
  1721.         menuitem {} {
  1722.           label {Phaser 4}
  1723.           xywh {60 60 100 20} labelfont 1 labelsize 10 labelcolor 7
  1724.         }
  1725.         menuitem {} {
  1726.           label {Phaser 5}
  1727.           xywh {70 70 100 20} labelfont 1 labelsize 10 labelcolor 7
  1728.         }
  1729.         menuitem {} {
  1730.           label {Phaser 6}
  1731.           xywh {80 80 100 20} labelfont 1 labelsize 10 labelcolor 7
  1732.         }
  1733.       }
  1734.       Fl_Text_Display {} {
  1735.         label Phaser
  1736.         xywh {125 10 10 20} box NO_BOX labeltype EMBOSSED_LABEL labelfont 1 labelsize 26 align 8
  1737.       }
  1738.       Fl_Dial phaserp0 {
  1739.         label Vol
  1740.         callback {eff->seteffectpar(0,(int) o->value());}
  1741.         xywh {10 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  1742.         class WidgetPDial
  1743.       }
  1744.       Fl_Dial phaserp2 {
  1745.         label Freq
  1746.         callback {eff->seteffectpar(2,(int) o->value());}
  1747.         xywh {45 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  1748.         class WidgetPDial
  1749.       }
  1750.       Fl_Dial phaserp5 {
  1751.         label {St.df}
  1752.         callback {eff->seteffectpar(5,(int) o->value());}
  1753.         xywh {80 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  1754.         class WidgetPDial
  1755.       }
  1756.       Fl_Dial phaserp6 {
  1757.         label Dpth
  1758.         callback {eff->seteffectpar(6,(int) o->value());}
  1759.         xywh {115 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  1760.         class WidgetPDial
  1761.       }
  1762.       Fl_Dial phaserp7 {
  1763.         label Fb
  1764.         callback {eff->seteffectpar(7,(int) o->value());}
  1765.         xywh {150 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  1766.         class WidgetPDial
  1767.       }
  1768.       Fl_Counter phaserp8 {
  1769.         label Stages
  1770.         callback {eff->seteffectpar(8,(int) o->value());}
  1771.         xywh {185 55 35 15} type Simple labelfont 1 labelsize 12 minimum 0 maximum 127 step 1
  1772.         code0 {o->range(1,MAX_PHASER_STAGES);}
  1773.       }
  1774.     }
  1775.   }
  1776.   Function {make_alienwah_window()} {} {
  1777.     Fl_Window effalienwahwindow {
  1778.       xywh {183 344 234 95} type Double box PLASTIC_UP_BOX color 221 labelfont 1 hide
  1779.       class Fl_Group
  1780.     } {
  1781.       Fl_Choice awp {
  1782.         label Preset
  1783.         callback {eff->changepreset((int)o->value());
  1784. refresh(eff);}
  1785.         xywh {10 15 90 15} down_box BORDER_BOX color 14 selection_color 0 labelfont 1 labelsize 10 labelcolor 0 align 5 textfont 1 textsize 10 textcolor 7
  1786.       } {
  1787.         menuitem {} {
  1788.           label {Alienwah 1}
  1789.           xywh {40 40 100 20} labelfont 1 labelsize 10 labelcolor 7
  1790.         }
  1791.         menuitem {} {
  1792.           label {Alienwah 2}
  1793.           xywh {50 50 100 20} labelfont 1 labelsize 10 labelcolor 7
  1794.         }
  1795.         menuitem {} {
  1796.           label {Alienwah 3}
  1797.           xywh {60 60 100 20} labelfont 1 labelsize 10 labelcolor 7
  1798.         }
  1799.         menuitem {} {
  1800.           label {Alienwah 4}
  1801.           xywh {70 70 100 20} labelfont 1 labelsize 10 labelcolor 7
  1802.         }
  1803.       }
  1804.       Fl_Text_Display {} {
  1805.         label AlienWah
  1806.         xywh {100 10 10 20} box NO_BOX labeltype EMBOSSED_LABEL labelfont 1 labelsize 26 align 8
  1807.       }
  1808.       Fl_Dial awp0 {
  1809.         label Vol
  1810.         callback {eff->seteffectpar(0,(int) o->value());}
  1811.         xywh {10 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  1812.         class WidgetPDial
  1813.       }
  1814.       Fl_Dial awp2 {
  1815.         label Freq
  1816.         callback {eff->seteffectpar(2,(int) o->value());}
  1817.         xywh {45 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  1818.         class WidgetPDial
  1819.       }
  1820.       Fl_Dial awp6 {
  1821.         label Dpth
  1822.         callback {eff->seteffectpar(6,(int) o->value());}
  1823.         xywh {85 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  1824.         class WidgetPDial
  1825.       }
  1826.       Fl_Counter awp8 {
  1827.         label Delay
  1828.         callback {eff->seteffectpar(8,(int) o->value());}
  1829.         xywh {125 55 35 15} type Simple labelfont 1 labelsize 12 minimum 0 maximum 127 step 1
  1830.         code0 {o->range(1,MAX_ALIENWAH_DELAY);}
  1831.       }
  1832.     }
  1833.   }
  1834.   Function {make_distorsion_window()} {} {
  1835.     Fl_Window effdistorsionwindow {
  1836.       xywh {257 432 230 95} type Double box PLASTIC_UP_BOX color 221 labelfont 1 hide
  1837.       class Fl_Group
  1838.     } {
  1839.       Fl_Choice distp {
  1840.         label Preset
  1841.         callback {eff->changepreset((int)o->value());
  1842. refresh(eff);}
  1843.         xywh {11 15 95 15} down_box BORDER_BOX color 14 selection_color 0 labelfont 1 labelsize 10 labelcolor 0 align 5 textfont 1 textsize 10 textcolor 7
  1844.       } {
  1845.         menuitem {} {
  1846.           label {Overdrive 1}
  1847.           xywh {20 20 100 20} labelfont 1 labelsize 10 labelcolor 7
  1848.         }
  1849.         menuitem {} {
  1850.           label {Overdrive 2}
  1851.           xywh {30 30 100 20} labelfont 1 labelsize 10 labelcolor 7
  1852.         }
  1853.         menuitem {} {
  1854.           label {A. Exciter 1}
  1855.           xywh {40 40 100 20} labelfont 1 labelsize 10 labelcolor 7
  1856.         }
  1857.         menuitem {} {
  1858.           label {A. Exciter 2}
  1859.           xywh {50 50 100 20} labelfont 1 labelsize 10 labelcolor 7
  1860.         }
  1861.         menuitem {} {
  1862.           label {Guitar Amp}
  1863.           xywh {50 50 100 20} labelfont 1 labelsize 10 labelcolor 7
  1864.         }
  1865.         menuitem {} {
  1866.           label Quantisize
  1867.           xywh {60 60 100 20} labelfont 1 labelsize 10 labelcolor 7
  1868.         }
  1869.       }
  1870.       Fl_Text_Display {} {
  1871.         label Distortion
  1872.         xywh {110 10 10 20} box NO_BOX labeltype EMBOSSED_LABEL labelfont 1 labelsize 20 align 8
  1873.       }
  1874.       Fl_Dial distp0 {
  1875.         label Vol
  1876.         callback {eff->seteffectpar(0,(int) o->value());}
  1877.         xywh {10 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  1878.         class WidgetPDial
  1879.       }
  1880.       Fl_Dial distp3 {
  1881.         label Drive
  1882.         callback {eff->seteffectpar(3,(int) o->value());}
  1883.         xywh {45 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 when 4 maximum 127
  1884.         class WidgetPDial
  1885.       }
  1886.       Fl_Dial distp4 {
  1887.         label Level
  1888.         callback {eff->seteffectpar(4,(int) o->value());}
  1889.         xywh {80 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  1890.         class WidgetPDial
  1891.       }
  1892.       Fl_Dial distp7 {
  1893.         label LPF
  1894.         callback {eff->seteffectpar(7,(int) o->value());}
  1895.         xywh {190 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  1896.         class WidgetPDial
  1897.       }
  1898.       Fl_Choice distp5 {
  1899.         label Type
  1900.         callback {eff->seteffectpar(5,(int) o->value());}
  1901.         xywh {120 50 60 20} box UP_BOX down_box BORDER_BOX labelfont 1 labelsize 12 align 2 textsize 10
  1902.       } {
  1903.         menuitem {} {
  1904.           label Atan
  1905.           xywh {55 55 100 20} labelfont 1 labelsize 10
  1906.         }
  1907.         menuitem {} {
  1908.           label Asym1
  1909.           xywh {65 65 100 20} labelfont 1 labelsize 10
  1910.         }
  1911.         menuitem {} {
  1912.           label Pow
  1913.           xywh {75 75 100 20} labelfont 1 labelsize 10
  1914.         }
  1915.         menuitem {} {
  1916.           label Sine
  1917.           xywh {85 85 100 20} labelfont 1 labelsize 10
  1918.         }
  1919.         menuitem {} {
  1920.           label Qnts
  1921.           xywh {95 95 100 20} labelfont 1 labelsize 10
  1922.         }
  1923.         menuitem {} {
  1924.           label Zigzg
  1925.           xywh {105 105 100 20} labelfont 1 labelsize 10
  1926.         }
  1927.         menuitem {} {
  1928.           label Lmt
  1929.           xywh {115 115 100 20} labelfont 1 labelsize 10
  1930.         }
  1931.         menuitem {} {
  1932.           label LmtU
  1933.           xywh {125 125 100 20} labelfont 1 labelsize 10
  1934.         }
  1935.         menuitem {} {
  1936.           label LmtL
  1937.           xywh {135 135 100 20} labelfont 1 labelsize 10
  1938.         }
  1939.         menuitem {} {
  1940.           label ILmt
  1941.           xywh {147 147 100 20} labelfont 1 labelsize 10
  1942.         }
  1943.         menuitem {} {
  1944.           label Clip
  1945.           xywh {157 157 100 20} labelfont 1 labelsize 10
  1946.         }
  1947.         menuitem {} {
  1948.           label Asym2
  1949.           xywh {75 75 100 20} labelfont 1 labelsize 10
  1950.         }
  1951.         menuitem {} {
  1952.           label Pow2
  1953.           xywh {85 85 100 20} labelfont 1 labelsize 10
  1954.         }
  1955.         menuitem {} {
  1956.           label Sgm
  1957.           xywh {95 95 100 20} labelfont 1 labelsize 10
  1958.         }
  1959.       }
  1960.     }
  1961.   }
  1962.   Function {make_eq_window()} {} {
  1963.     Fl_Window effeqwindow {
  1964.       xywh {258 307 230 95} type Double box PLASTIC_UP_BOX color 221 labelfont 1 hide
  1965.       class Fl_Group
  1966.     } {
  1967.       Fl_Text_Display {} {
  1968.         label EQ
  1969.         xywh {170 5 15 25} box NO_BOX labeltype EMBOSSED_LABEL labelfont 1 labelsize 26 align 8
  1970.       }
  1971.       Fl_Counter bandcounter {
  1972.         label Band
  1973.         callback {eqband=(int) o->value();
  1974. int npb=eqband*5+10;
  1975.  
  1976. int type=eff->geteffectpar(npb);
  1977. typechoice->value(type);
  1978.  
  1979. if (type>6) gaindial->activate();
  1980.  else gaindial->deactivate();
  1981.  
  1982. if (type==0) bandgroup->deactivate();
  1983. else bandgroup->activate();
  1984.  
  1985. int freq=eff->geteffectpar(npb+1);
  1986. freqdial->value(freq);
  1987.  
  1988. int gain=eff->geteffectpar(npb+2);
  1989. gaindial->value(gain);
  1990.  
  1991. int q=eff->geteffectpar(npb+3);
  1992. qdial->value(q);
  1993.  
  1994. int dbl=eff->geteffectpar(npb+4);
  1995. stagescounter->value(dbl);}
  1996.         tooltip {Band no.} xywh {85 15 45 15} type Simple labelfont 1 labelsize 12 align 1 minimum 0 maximum 1 step 1 textfont 1 textsize 12
  1997.         code0 {o->bounds(0,MAX_EQ_BANDS-1);}
  1998.       }
  1999.       Fl_Group bandgroup {
  2000.         xywh {5 5 75 85} box ENGRAVED_FRAME
  2001.         code0 {if (eff->geteffectpar(10)==0) o->deactivate();}
  2002.       } {
  2003.         Fl_Dial freqdial {
  2004.           label Freq
  2005.           callback {int np=eqband*5+11;
  2006. eff->seteffectpar(np,(int) o->value());
  2007. eqgraph->redraw();}
  2008.           xywh {10 10 25 25} box ROUND_UP_BOX labelfont 1 labelsize 10 when 3 maximum 127
  2009.           class WidgetPDial
  2010.         }
  2011.         Fl_Dial gaindial {
  2012.           label Gain
  2013.           callback {int np=eqband*5+12;
  2014. eff->seteffectpar(np,(int) o->value());
  2015. eqgraph->redraw();}
  2016.           xywh {45 10 25 25} box ROUND_UP_BOX labelfont 1 labelsize 10 when 3 maximum 127 step 1
  2017.           class WidgetPDial
  2018.         }
  2019.         Fl_Dial qdial {
  2020.           label Q
  2021.           callback {int np=eqband*5+13;
  2022. eff->seteffectpar(np,(int) o->value());
  2023. eqgraph->redraw();}
  2024.           xywh {10 50 25 25} box ROUND_UP_BOX labelfont 1 labelsize 10 when 3 maximum 127
  2025.           class WidgetPDial
  2026.         }
  2027.         Fl_Counter stagescounter {
  2028.           label Stages
  2029.           callback {int np=eqband*5+14;
  2030. eff->seteffectpar(np,(int) o->value());
  2031. eqgraph->redraw();}
  2032.           tooltip {Additional filter stages} xywh {40 55 30 15} type Simple labelfont 1 labelsize 10 minimum 1 maximum 127 step 1 textfont 1 textsize 12
  2033.           code0 {o->bounds(0,MAX_FILTER_STAGES-1);}
  2034.         }
  2035.       }
  2036.       Fl_Choice typechoice {
  2037.         label Type
  2038.         callback {int np=eqband*5+10;
  2039. eff->seteffectpar(np,(int) o->value());
  2040. bandcounter->do_callback();
  2041. eqgraph->redraw();}
  2042.         tooltip Type xywh {135 15 40 15} down_box BORDER_BOX labelfont 1 labelsize 10 align 1 when 6 textsize 10
  2043.       } {
  2044.         menuitem {} {
  2045.           label OFF
  2046.           xywh {10 10 100 20} labelfont 1 labelsize 10
  2047.         }
  2048.         menuitem {} {
  2049.           label Lp1
  2050.           xywh {20 20 100 20} labelfont 1 labelsize 10
  2051.         }
  2052.         menuitem {} {
  2053.           label Hp1
  2054.           xywh {30 30 100 20} labelfont 1 labelsize 10
  2055.         }
  2056.         menuitem {} {
  2057.           label Lp2
  2058.           xywh {40 40 100 20} labelfont 1 labelsize 10
  2059.         }
  2060.         menuitem {} {
  2061.           label Hp2
  2062.           xywh {50 50 100 20} labelfont 1 labelsize 10
  2063.         }
  2064.         menuitem {} {
  2065.           label Bp2
  2066.           xywh {60 60 100 20} labelfont 1 labelsize 10
  2067.         }
  2068.         menuitem {} {
  2069.           label N2
  2070.           xywh {70 70 100 20} labelfont 1 labelsize 10
  2071.         }
  2072.         menuitem {} {
  2073.           label Pk
  2074.           xywh {90 90 100 20} labelfont 1 labelsize 10
  2075.         }
  2076.         menuitem {} {
  2077.           label LSh
  2078.           xywh {80 80 100 20} labelfont 1 labelsize 10
  2079.         }
  2080.         menuitem {} {
  2081.           label HSh
  2082.           xywh {90 90 100 20} labelfont 1 labelsize 10
  2083.         }
  2084.       }
  2085.       Fl_Box eqgraph {
  2086.         xywh {85 35 140 55} box BORDER_BOX color 178
  2087.         code0 {o->init(eff);}
  2088.         class EQGraph
  2089.       }
  2090.     }
  2091.   }
  2092.   Function {make_dynamicfilter_window()} {} {
  2093.     Fl_Window effdynamicfilterwindow {
  2094.       xywh {271 375 232 95} type Double box PLASTIC_UP_BOX color 221 labelfont 1 hide
  2095.       class Fl_Group
  2096.     } {
  2097.       Fl_Choice dfp {
  2098.         label Preset
  2099.         callback {eff->changepreset((int)o->value());
  2100. refresh(eff);}
  2101.         xywh {10 15 90 15} down_box BORDER_BOX color 14 selection_color 0 labelfont 1 labelsize 10 labelcolor 0 align 5 textfont 1 textsize 10 textcolor 7
  2102.       } {
  2103.         menuitem {} {
  2104.           label WahWah
  2105.           xywh {30 30 100 20} labelfont 1 labelsize 10 labelcolor 7
  2106.         }
  2107.         menuitem {} {
  2108.           label AutoWah
  2109.           xywh {40 40 100 20} labelfont 1 labelsize 10 labelcolor 7
  2110.         }
  2111.         menuitem {} {
  2112.           label Sweep
  2113.           xywh {50 50 100 20} labelfont 1 labelsize 10 labelcolor 7
  2114.         }
  2115.         menuitem {} {
  2116.           label VocalMorph1
  2117.           xywh {50 50 100 20} labelfont 1 labelsize 10 labelcolor 7
  2118.         }
  2119.         menuitem {} {
  2120.           label VocalMorph2
  2121.           xywh {60 60 100 20} labelfont 1 labelsize 10 labelcolor 7
  2122.         }
  2123.       }
  2124.       Fl_Text_Display {} {
  2125.         label DynFilter
  2126.         xywh {100 10 10 20} box NO_BOX labeltype EMBOSSED_LABEL labelfont 1 labelsize 26 align 8
  2127.       }
  2128.       Fl_Dial dfp0 {
  2129.         label Vol
  2130.         callback {eff->seteffectpar(0,(int) o->value());}
  2131.         xywh {10 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  2132.         class WidgetPDial
  2133.       }
  2134.       Fl_Dial dfp2 {
  2135.         label Freq
  2136.         callback {eff->seteffectpar(2,(int) o->value());}
  2137.         xywh {45 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  2138.         class WidgetPDial
  2139.       }
  2140.       Fl_Dial dfp6 {
  2141.         label LfoD
  2142.         callback {eff->seteffectpar(6,(int) o->value());}
  2143.         xywh {80 40 30 30} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  2144.         class WidgetPDial
  2145.       }
  2146.       Fl_Group {} {open
  2147.         xywh {115 40 65 45} box BORDER_BOX color 181
  2148.       } {
  2149.         Fl_Dial dfp7 {
  2150.           label {A.S.}
  2151.           callback {eff->seteffectpar(7,(int) o->value());}
  2152.           xywh {120 45 25 25} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  2153.           class WidgetPDial
  2154.         }
  2155.         Fl_Dial dfp9 {
  2156.           label {A.M}
  2157.           callback {eff->seteffectpar(9,(int) o->value());}
  2158.           xywh {150 45 25 25} box ROUND_UP_BOX labelfont 1 labelsize 12 maximum 127
  2159.           class WidgetPDial
  2160.         }
  2161.       }
  2162.     }
  2163.   }
  2164.   Function {init(EffectMgr *eff_)} {} {
  2165.     code {eff=eff_;
  2166.  
  2167. make_null_window();
  2168. make_reverb_window();
  2169. make_echo_window();
  2170. make_chorus_window();
  2171. make_phaser_window();
  2172. make_alienwah_window();
  2173. make_distorsion_window();
  2174. make_eq_window();
  2175. make_dynamicfilter_window();
  2176.  
  2177. int px=this->parent()->x();
  2178. int py=this->parent()->y();
  2179.  
  2180. effnullwindow->position(px,py);
  2181. effreverbwindow->position(px,py);
  2182. effechowindow->position(px,py);
  2183. effchoruswindow->position(px,py);
  2184. effphaserwindow->position(px,py);
  2185. effalienwahwindow->position(px,py);
  2186. effdistorsionwindow->position(px,py);
  2187. effeqwindow->position(px,py);
  2188. effdynamicfilterwindow->position(px,py);
  2189.  
  2190. refresh(eff);} {}
  2191.   }
  2192.   Function {refresh(EffectMgr *eff_)} {open
  2193.   } {
  2194.     code {eff=eff_;
  2195. this->hide();
  2196.  
  2197. effnullwindow->hide();
  2198. effreverbwindow->hide();
  2199. effechowindow->hide();
  2200. effchoruswindow->hide();
  2201. effphaserwindow->hide();
  2202. effalienwahwindow->hide();
  2203. effdistorsionwindow->hide();
  2204. effeqwindow->hide();
  2205. effdynamicfilterwindow->hide();
  2206.  
  2207. eqband=0;
  2208.  
  2209.  
  2210. switch(eff->geteffect()){
  2211.      case 1:
  2212.     revp->value(eff->getpreset());
  2213.     revp0->value(eff->geteffectpar(0));if (eff->insertion!=0) revp0->label("D/W");
  2214.     revp2->value(eff->geteffectpar(2));
  2215.     revp3->value(eff->geteffectpar(3));
  2216.     revp9->value(eff->geteffectpar(9));          
  2217.         effreverbwindow->show();
  2218.         break; 
  2219.      case 2:
  2220.     echop->value(eff->getpreset());
  2221.     echop0->value(eff->geteffectpar(0));if (eff->insertion!=0) echop0->label("D/W");
  2222.     echop2->value(eff->geteffectpar(2));
  2223.     echop5->value(eff->geteffectpar(5));
  2224.     effechowindow->show();
  2225.         break; 
  2226.      case 3:
  2227.     chorusp->value(eff->getpreset());
  2228.     chorusp0->value(eff->geteffectpar(0));if (eff->insertion!=0) chorusp0->label("D/W");
  2229.     chorusp2->value(eff->geteffectpar(2));
  2230.     chorusp6->value(eff->geteffectpar(6));
  2231.     chorusp7->value(eff->geteffectpar(7));
  2232.     chorusp8->value(eff->geteffectpar(8));
  2233.     effchoruswindow->show();
  2234.         break; 
  2235.      case 4:
  2236.     phaserp->value(eff->getpreset());
  2237.     phaserp0->value(eff->geteffectpar(0));if (eff->insertion!=0) phaserp0->label("D/W");
  2238.     phaserp2->value(eff->geteffectpar(2));
  2239.     phaserp5->value(eff->geteffectpar(5));
  2240.     phaserp6->value(eff->geteffectpar(6));
  2241.     phaserp7->value(eff->geteffectpar(7));
  2242.     phaserp8->value(eff->geteffectpar(8));
  2243.     effphaserwindow->show();
  2244.         break; 
  2245.      case 5:
  2246.     awp->value(eff->getpreset());
  2247.     awp0->value(eff->geteffectpar(0));if (eff->insertion!=0) awp0->label("D/W");
  2248.     awp2->value(eff->geteffectpar(2));
  2249.     awp6->value(eff->geteffectpar(6));
  2250.     awp8->value(eff->geteffectpar(8));
  2251.     effalienwahwindow->show();
  2252.         break; 
  2253.      case 6:
  2254.     distp->value(eff->getpreset());
  2255.     distp0->value(eff->geteffectpar(0));if (eff->insertion!=0) distp0->label("D/W");
  2256.     distp3->value(eff->geteffectpar(3));
  2257.     distp4->value(eff->geteffectpar(4));
  2258.     distp5->value(eff->geteffectpar(5));
  2259.     distp7->value(eff->geteffectpar(7));
  2260.     effdistorsionwindow->show();
  2261.         break;
  2262.      case 7:
  2263.     bandcounter->value(eqband);
  2264.     bandcounter->do_callback();
  2265.     typechoice->value(eff->geteffectpar(10));
  2266.     eqgraph->redraw();
  2267.     freqdial->value(eff->geteffectpar(11));
  2268.     gaindial->value(eff->geteffectpar(12));
  2269.     if (eff->geteffectpar(10)<6) gaindial->deactivate();
  2270.     qdial->value(eff->geteffectpar(13));
  2271.     stagescounter->value(eff->geteffectpar(14));
  2272.         eqgraph->init(eff);
  2273.     effeqwindow->show();
  2274.         break;
  2275.      case 8:
  2276.     dfp->value(eff->getpreset());
  2277.     dfp0->value(eff->geteffectpar(0));if (eff->insertion!=0) dfp0->label("D/W");
  2278.     dfp2->value(eff->geteffectpar(2));
  2279.     dfp6->value(eff->geteffectpar(6));
  2280.     dfp7->value(eff->geteffectpar(7));
  2281.     dfp9->value(eff->geteffectpar(9));
  2282.  
  2283.             
  2284.     effdynamicfilterwindow->show();
  2285.     break;
  2286.     default:effnullwindow->show();
  2287.             break; 
  2288. };
  2289.  
  2290. this->show();} {selected
  2291.     }
  2292.   }
  2293.   Function {refresh()} {} {
  2294.     code {refresh(eff);} {}
  2295.   }
  2296.   decl {EffectMgr *eff;} {}
  2297.   decl {int eqband;} {}
  2298.